package com.niiwoo.civet.trade.service.lend;

import com.niiwoo.civet.trade.dto.common.InvestFullLendDTO;
import com.niiwoo.civet.trade.dto.common.ProjectLendRecordDTO;
import com.niiwoo.civet.trade.dto.common.TcLendAfterDTO;
import com.niiwoo.civet.trade.enums.ProjectFromSourceEnum;
import org.jboss.logging.Param;

import java.util.List;

/**
 * 交易中心满标放款处理
 * 
 * @author liaojunjun
 *
 */
@Deprecated
public interface TcProjectLendDubboService {

	/**
	 * 满标放款
	 * 
	 * @param request
	 */
	public void investFullLend(InvestFullLendDTO request);

	/**
	 * 放款后处理
	 * 
	 * @param dto
	 */
	public void lendAfter(TcLendAfterDTO dto);

	/**
	 * 放款等待银行通知处理
	 */
	public void lendWaitingBankNotifyJob();
	
	/**
	 * 放款异常任务
	 */
	public void lendAbnormityJob();
	
	/**
	 * 放款异常补单
	 * @param projectId
	 */
	public void lendAbnormityReplenishOrder(Long projectId);

	/**
	 * 根据标的来源获取T-1天的放款记录
	 * @param fromSourceEnum 标的来源枚举
	 */
	public List<ProjectLendRecordDTO> listProjectLendCoredByFromSource(ProjectFromSourceEnum fromSourceEnum);

	/**
	 * 根据标的id查询放款记录
	 * @param projectId
	 * @return
	 */
	public ProjectLendRecordDTO queryProjectLendRecordByProjectId(Long projectId);

	/**
	 * 红包补偿
	 *
	 * @param type 1：投资红包 2：借款红包
	 * @param id   type==1传递投资订单ID; type==2传递标的ID
	 */
	default void prizeCompensate(String type, Long id) {
		throw new UnsupportedOperationException("unimplemented");
	}
}
